#include "textflag.h"

TEXT ·ShowMessage(SB),$24

//调用ShowMessage时，传入参数s的前8字节，即string.Data
MOVQ s+0(FP), AX

//赋给SP-24，即栈帧底部的最后一个8字节空间。其实是用于调用calcLen时的string.Data
MOVQ AX, t-24(SP)

//调用ShowMessage时，传入参数s的前8字节，即string.Len
MOVQ s+8(FP), AX

//赋给SP-16，即栈帧底部的倒数第二个8字节空间。其实是用于调用calcLen时的string.Len
MOVQ AX, t-16(SP)

//调用calcLen函数，从SP的位置开始算起，最后两个8字节空间将组装为string类型数据，传入calcLen
CALL ·calcLen(SB)

//获取SP-8，即栈帧底部的倒数第三个8字节空间。其实是用于获得calcLen的返回值
MOVQ t-8(SP),AX

//将获得的calcLen的返回值，再次赋给栈顶元素，并调用printLen()函数，以打印calcLen获得的字符串长度
MOVQ AX,a-24(SP)
CALL ·printLen(SB)

RET
